#pragma once
#include "ridefactory.h"
#include "sgtexture.h"

class CSgComposite;

class CEnvironmentFactory :
	public CRideFactory
{
public:
	CEnvironmentFactory(void);
	~CEnvironmentFactory(void);	
	
	void Create(CSgComposite *root);

	void CreateFloor(CSgComposite *parent);
	void CreateFence(CSgComposite *parent);
	void CreatePavement(CSgComposite *parent);
	//void CreateSky(CSgComposite* parent);
	void CreateBanner(CSgComposite *parent, LPCTSTR filename);
	
	void CreateFountain(CSgComposite* parent);

	CSgPtr <CSgTexture> pavTxt;
	CSgPtr <CSgTexture> grasstex;
	CSgPtr <CSgTexture> skytex;
	CSgPtr <CSgTexture> orbTex;
	CSgPtr <CSgTexture> marbleTex;
private:
	CSgComposite *m_root;
public:
	void CreateSky(CSgComposite* parent);
	void CreateGround(CSgComposite* parent);
};
